using System;
using System.Collections.Generic;
using System.Text;
using Medusa.Service.Business.Core.Entities;
using Newtonsoft.Json;

namespace NP.BPMReportPlatform.CourseTrain.Dtos
{
    /// <summary>
    /// 流程DTO
    /// </summary>
    public class TrainSearchDto
    {
        /// <summary>
        /// 培训项目可见人员userid
        /// </summary>
        [JsonProperty(PropertyName = "assignUsers")]
        public string AssignUsers { get; set; }

        /// <summary>
        /// 培训项目筛选起始时间
        /// </summary>
        [JsonProperty(PropertyName = "createdTime")]
        public DateTime? CreatedTime { get; set; }

        /// <summary>
        /// 培训项目筛选结束时间
        /// </summary>
        [JsonProperty(PropertyName = "endTime")]
        public DateTime? EndTime { get; set; }

        /// <summary>
        /// 培训项目时间筛选字段
        /// </summary>
        [JsonProperty(PropertyName = "filterTimeType")]
        public string FilterTimeType { get; set; }

        /// <summary>
        /// 查询页码
        /// </summary>
        [JsonProperty(PropertyName = "page")]
        public int Page { get; set; }

        /// <summary>
        /// 每页查询数量
        /// </summary>
        [JsonProperty(PropertyName = "pageSize")]
        public int PageSize { get; set; }

        /// <summary>
        /// 培训项目名称关键字
        /// </summary>
        [JsonProperty(PropertyName = "keyword")]
        public string Keyword { get; set; }

        /// <summary>
        /// 查询成员可见范围培训项目
        /// </summary>
        [JsonProperty(PropertyName = "userid")]
        public string Userid { get; set; }

        /// <summary>
        /// 成员培训项目完成状态筛选
        /// 1=进行中；2=已完成；3=未参加
        /// </summary>
        [JsonProperty(PropertyName = "filterState")]
        public int? FilterState { get; set; }

        /// <summary>
        /// 培训分类ID
        /// </summary>
        [JsonProperty(PropertyName = "categoryId")]
        public string CategoryId { get; set; }

        /// <summary>
        /// 培训项目ID
        /// </summary>
        [JsonProperty(PropertyName = "trainId")]
        public string TrainId { get; set; }

        /// <summary>
        /// 培训项目可见人员数量
        /// </summary>
        [JsonProperty(PropertyName = "visible")]
        public string Visible { get; set; }

        /// <summary>
        /// access_token
        /// </summary>
        [JsonProperty(PropertyName = "access_token")]
        public string AccessToken { get; set; }
    }
}
